cmake_minimum_required(VERSION 3.23)
project(AutomaticTeller CXX)

set(CMAKE_CXX_STANDARD 23)

include_directories(
        include/

        include/system
        include/teller
        include/bank
        include/interface
)

set(TELLER_SRC
        src/Application.cpp

        include/system/message.hpp
        include/system/sender.hpp
        include/system/receiver.hpp
        include/system/dispatcher.hpp
        include/system/TemplateDispatcher.hpp

        include/teller/teller_message.hpp
        include/teller/teller_state.hpp

        include/bank/bank_state.hpp

        include/interface/interface_state.hpp

        include/Core.h
        )

add_executable(AutomaticTeller ${TELLER_SRC})
